#include "StdAfx.h"
#include "mmonkey.h"
#include "btime.h"		//for port info
#include "machine/MinkyMonkeyMachine.h"

static dip_t dip1[] =
	{
	{"Coin 1",2,3,{{"2 coins/1 credit",0},{"1 coin/3 credits",1},{"1 coin/2 credits",2},{"1 coin/1 credit",3}}},
	{"Coin 2",2,0xC,{{"2 coins/1 credit",0},{"1 coin/3 credits",4},{"1 coin/2 credits",8},{"1 coin/1 credit",0xC}}},
	{"Free play",1,0x10,{{"on",0},{"off",0x10}}},
	{"Unknown",1,0,{{"off",0},{"on",0x20}}},
	{"Cabinet type",1,0,{{"upright",0},{"cocktail",0x40}}},
	{"VBlank",-1,0,{{"off",0},{"on",0x80}}},
	{0,0,0,0,0}	
	};

static dip_t dip2[] =
	{
	{"Lives",1,1,{{"5",0},{"3",1}}},
	{"Bonus life",2,6,{{"20,000",0},{"every 15,000",2},{"every 30,000",4},{"none",6}}},
	{"Difficulty",2,0x18,{{"level skip mode",0},{"medium",8},{"hard",0x10},{"easy",0x18}}},
	{"Unknown",1,0,{{"off",0},{"on",0x20}}},
	{"Unknown",1,0,{{"off",0},{"on",0x40}}},
	{"Service",1,0,{{"on",0},{"off",0x80}}},
	{0,0,0,0,0}	
	};

Cmmonkey::Cmmonkey()
{
SetName("mmonkey");						//set romset name
SetScreen(256,256,ROTATE_270);
SetDip(0,dip1);
SetDip(1,dip2);
SetPort(0,&btimePort1);
SetPort(1,&btimePort2);
SetPort(2,&btimePort3);
AddROM("mmonkey.e4",	0xC000,0x1000,0x8d31bf6a,ROM_CPU1);
AddROM("mmonkey.d4",	0xD000,0x1000,0xe54f584a,ROM_CPU1);
AddROM("mmonkey.b4",	0xE000,0x1000,0x399a161e,ROM_CPU1);
AddROM("mmonkey.a4",	0xF000,0x1000,0xf7d3d1e3,ROM_CPU1);
AddROM("mmonkey.h1",	0xF000,0x1000,0x5bcb2e81,ROM_CPU2);
AddROM("mmonkey.l11",0x0000,0x1000,0xb6aa8566,ROM_VROM1);
AddROM("mmonkey.m11",0x1000,0x1000,0x6cc4d0c4,ROM_VROM1);
AddROM("mmonkey.l13",0x2000,0x1000,0x2a343b7e,ROM_VROM1);
AddROM("mmonkey.m13",0x3000,0x1000,0x0230b50d,ROM_VROM1);
AddROM("mmonkey.l14",0x4000,0x1000,0x922bb3e1,ROM_VROM1);
AddROM("mmonkey.m14",0x5000,0x1000,0xf943e28c,ROM_VROM1);
AddROM("mmi6331.m5",	0x0000,0x0020,0x55e28b32,ROM_PROM);
AddROM("sb-4c",		0x0020,0x0020,0xa29b4204,ROM_PROM);
}

CMachine *Cmmonkey::CreateMachine()
{
return(new CMinkyMonkeyMachine());
}
